home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / SAT 2.3.8 / Demos / Zkrolly demo ƒ / sZprite.p < prev    next >
Text File  |  1994-11-03  |  1KB  |  74 lines

  1. unit sZprite;
  2.  
  3. interface
  4.  
  5.     uses
  6. {$ifc UNDEFINED THINK_PASCAL}
  7.         Types, QuickDraw, {}
  8. {$endc}
  9.         SAT;
  10.  
  11.     procedure InitZprite;
  12.     procedure SetupZprite (me: SpritePtr);
  13.     procedure HandleZprite (me: SpritePtr);
  14.  
  15. implementation
  16.  
  17.     const
  18.         zpeedH = 1;
  19.         zpeedV = 1;
  20.     var
  21.         theSound: Handle;
  22.         Zfaces: array[0..1] of FacePtr;
  23.  
  24.     procedure InitZprite;
  25.         var
  26.             i: integer;
  27.     begin
  28.         theSound := SATGetSound(128);
  29.         for i := 0 to 1 do
  30.             Zfaces[i] := SATGetFace(128 + i);
  31.     end;
  32.  
  33.     procedure SetupZprite (me: SpritePtr);
  34.     begin
  35.         me^.speed.h := zpeedH;
  36.         me^.speed.v := -zpeedV;
  37.         me^.face := Zfaces[1];
  38.         me^.task := @HandleZprite;
  39.     end;
  40.  
  41.     procedure HandleZprite (me: SpritePtr);
  42.     begin
  43.         with me^ do
  44.             begin
  45. {if mode < 1 then Face := nil;{test av faceless}
  46.  
  47.                 position.h := position.h + speed.h;
  48.                 position.v := position.v + speed.v;
  49.                 if position.h > gSAT.offSizeH then {400}
  50.                     begin
  51.                         speed.h := -zpeedH;
  52.                         SATSoundPlay(theSound, 1, false);
  53.                         face := Zfaces[0];
  54.                     end;
  55.                 if position.h < -20 then {50}
  56.                     begin
  57.                         speed.h := zpeedH;
  58.                         SATSoundPlay(theSound, 1, true);
  59.                         face := Zfaces[1];
  60.                     end;
  61.                 if position.v > gSAT.offSizeV then {400}
  62.                     begin
  63.                         speed.v := -zpeedV;
  64.                         SATSoundPlay(theSound, 1, false);
  65.                     end;
  66.                 if position.v < -20 then {50}
  67.                     begin
  68.                         speed.v := zpeedV;
  69.                         SATSoundPlay(theSound, 1, true);
  70.                     end;
  71.             end;
  72.     end;
  73.  
  74. end.